function alert(txt) {
	$.messager.alert('提示信息', txt)
}

$(function() {
	$.ajax({
		url : path+'/role/getAllRole.do',
		dataType : 'json',
		success : function(data) {
			if(data.code==0){
				
				$('#dg1').datagrid("loadData",data.data.roleList);
				$('#t2').tree('loadData', data.data.perList)
				$('#dg1').datagrid('selectRow', 0);
			}else{
				 alert("获取数据失败,请刷新页面后重试!")
			}

		}

	})

	$('#dg1').datagrid({ 
	  onSelect : function(rowIndex, rowData) {
	
				$.ajax({
					url: path+"/getOneRolePer.do",
					data:{
						 roleid:rowData.id	
					},
					dataType:'json',
					success:function(data){
						if(data.code==0){
							var nodess = $('#t2').tree('getChecked')
							for (var i = 0; i < nodess.length; i++) {
								$('#t2').tree('uncheck', nodess[i].target);  
							}
							var nodes = $('#t2').tree('getChecked', 'unchecked');	
							for (var i = 0; i < nodes.length; i++) {
								for (var j=0;j<data.data.rolePerList.length;j++){
								 if(nodes[i].id==data.data.rolePerList[j]){
										$('#t2').tree('check', nodes[i].target);
									}
									
								}
							}
							
						}else{
							
							alert('获取数据失败，请检查网络后重试!')
						}
					}

				 })  
		    }
	   })
   })

function openWin() {

	$('#w').window('open')

}

function closeWins() {
	$('#w').window('close')
	$('#role1').text(' *')
	$('#role').css('border-color', '#D4D4D4')
	$('#rolename1').text(' *')
	$('#rolename').css('border-color', '#D4D4D4')
	$("#w").form('clear')
	var nodess = $('#tt').tree('getChecked')
					for (var i = 0; i < nodess.length; i++) {
						$('#tt').tree('uncheck', nodess[i].target);  
				}
	

}

/**
 * 
 * 得到所有的role
 * 
 */

/**
 * 
 * 添加角色
 * 
 * 
 */
function addRole() {
	if (true)//Quan() & name1() & biaoshi()
	var rp = '[';
	var nodes = $('#tt').tree('getChecked');
	for (var i = 0; i < nodes.length; i++) {
		rp += "{'perid':'" + nodes[i].id + "'},"
	  }
	
	$('#save').linkbutton('disable');
		$.ajax({
			url :  path+'/role/AddRole.do',
			type:'POST',
			data : {
				rolename : $('#role').val(),
				note : $('#rolename').val(),
				rp:rp,
				status:$('#leixing').combobox("getValue")
			},
			dataType:'json',
			success : function(data) {
				 if(data.code==0){
						 $('#dg1').datagrid('loadData',data.data.roleList);
						 $('#dg1').datagrid('selectRow', 0);
						 closeWins()
						 $('#save').linkbutton('enable');
						 $.messager.show({
		                     title: '提示',
		                     msg: '添加角色成功!',
		                     timeout: 4000,
		                     showType: 'slide'
		                     }) 
				 }else{
					 $('#save').linkbutton('enable');
					 alert('添加角色失败，请检查网络后重试!')
				 }		
		
			}
		})

}
// 删除

function del() {
	var row = $('#dg1').datagrid('getSelected');
	if (row != null) {
			$.messager.confirm(
							'提示信息','真的要删除' + row.note + '吗?', function(r) {
						if (r) {
							$('#del').linkbutton('disable');
							$.ajax({
									url : path+ '/role/delRole.do',
									data : {
											id : row.id
											},
									dataType : 'json',
									success : function(data) {
										if(data.code==0){
											if(data.data.code==0){
												 $('#dg1').datagrid('loadData',data.data.roleList);
												 $('#dg1').datagrid('selectRow', 0);
												 $.messager.show({
								                     title: '提示',
								                     msg: '删除角色成功!',
								                     timeout: 4000,
								                     showType: 'slide'
								                     }) 
								                     if($('#dg1').datagrid('getRows').length==0){
								                    	 var nodess = $('#t2').tree('getChecked')
								         				for (var i = 0; i < nodess.length; i++) {
								         					$('#t2').tree('uncheck', nodess[i].target);  }
								                     }
								                     
								                     
											}else if(data.data.code==1){
												alert(data.data.msg)
											}
											
											$('#del').linkbutton('enable');
										}else{
											$('#del').linkbutton('enable');
											alert('删除角色失败,请检查网络后重试!')
										}
		                      	   }
			                  })
			              }
			       });
	
	} else {
          
		alert('请选择操作对象!')

	}

}

/**
 * 验证
 * 
 * 
 */

function biaoshi() {
	var result = false;
	if ($('#role').val() == '') {
		$('#role').css('border-color', 'red')
		$('#role1').text(' 不能为空')
		result = false

	} else {
		$.ajax({
			url :  path+'/role/findOneRole.do',
			data : {

				rolename : $('#role').val(),

			},
			dataType : 'json',
			success : function(data) {
				if (data.code == 0) {
					$('#role').css('border-color', 'red')
					$('#role1').text('命名重复')
					result = false

				} else if (data.code == 1) {
					$('#role1').text(' *')
					$('#role').css('border-color', '#D4D4D4')
					result = true
				}
			}
		})
	}
	return result
}

function name1() {
	var result = false;
	if ($('#rolename').val() == '') {
		$('#rolename').css('border-color', 'red')
		$('#rolename1').text(' 不能为空')
		result = false

	} else {
		$.ajax({
			url :  path+'/role/findOneRole1.do',
			data : {
				note : $('#rolename').val(),
			},
			dataType : 'json',
			success : function(data) {
				if (data.code == 0) {
					$('#rolename').css('border-color', 'red')
					$('#rolename1').text('命名重复')
					result = false
				} else if (data.code == 1) {
					$('#rolename1').text(' *')
					$('#rolename').css('border-color', '#D4D4D4')
					result = true
				}

			}

		})

	}
	return result

}

// 验证权限
function Quan() {
	var nodes = $('#tt').tree('getChecked');
	var s = '';
	for (var i = 0; i < nodes.length; i++) {
		if (s != '')
			s += ',';
		s += nodes[i].id;
	}
	if (s == '') {
		$('#msgq').text('请选择角色权限->')
		return false
	}
	$('#msgq').text('')
	return true

}

/**
 * 修改权限
 * 
 */

var biaoshi;
var name;
/**
 * 
 * @returns
 */
function xopenWin() {
  var row = $('#dg1').datagrid("getSelected");
	$('#xw').window('open')
	biaoshi = row.rolename;
	name = row.note

	if (row != null) {
		$.ajax({
			url :  path+'/getOneRolePer.do',
			data : {
				roleid : row.id
			   },
			dataType : 'json',
			success : function(data) {
				if(data.code==0){
					$('#tt2').tree("loadData",data.data.pList);
					var nodes = $('#tt2').tree('getChecked', 'unchecked');	
					$('#xrole1').val(row.rolename)
					$('#xrolename1').val(row.note)
					$('#xleixing').combobox('setValue',row.status);
					for (var i = 0; i < nodes.length; i++) {
					  for (var j = 0; j < data.data.rolePerList.length; j++) {
						  if(nodes[i].id==data.data.rolePerList[j])
						     $('#tt2').tree('check', nodes[i].target);
					     }
					  }
					
				}else{
					alert('修改操作失败，请检查网络后重试!')
				}

			}

		})

	} else {

		alert('请选这操作对象!')
	}

}

function xcloseWins() {
	$('#xw').window('close')
	$('#xrole2').text(' *')
	$('#xrole1').css('border-color', '#D4D4D4')
	$('#xrolename2').text(' *')
	$('#xrolename1').css('border-color', '#D4D4D4')
	$("#xw").form('clear')
	var nodess = $('#tt2').tree('getChecked')
					for (var i = 0; i < nodess.length; i++) {
						$('#tt2').tree('uncheck', nodess[i].target);  
				}
}

// 回显用
/*function fanxian(roleid) {

	var nodes = $('#t2').tree('getChecked');

	for (var i = 0; i < nodes.length; i++) {

		$('#t2').tree('uncheck', nodes[i].target);

	}
	var unnodes = $('#t2').tree('getChecked', 'unchecked')
	// 主页显示选中权限树
	$.ajax({

		url : '/clothing/findPermission.do',
		data : {

			roleid : roleid

		},
		dataType : 'json',
		success : function(data) {

			for (var i = 0; i < data.length; i++) {

				for (var j = 0; j < unnodes.length; j++) {

					if (data[i] == unnodes[j].id) {

						$('#t2').tree('check', unnodes[j].target);

					}

				}

			}

		}

	})

}*/

/**
 * 修改验证
 * 
 * 
 */

function xbiaoshi() {
	var result = false;
	if ($('#xrole1').val() == '') {
		$('#xrole1').css('border-color', 'red')
		$('#xrole2').text(' 不能为空')
		result = false

	} else {
		if (biaoshi != $('#xrole1').val()) {
			$.ajax({
				url :  path+'/role/findOneRole.do',
				data : {

					rolename : $('#xrole1').val(),

				},
				async : false,
				dataType : 'json',

				success : function(data) {
					if (data.code == 0) {
						$('#xrole1').css('border-color', 'red')
						$('#xrole2').text(' 命名重复')
						result = false
					} else if (data.code == 1) {
						$('#xrole2').text(' *')
						$('#xrole1').css('border-color', '#D4D4D4')
						result = true

					}

				}

			})

		} else {

			$('#xrole2').text(' *')
			$('#xrole1').css('border-color', '#D4D4D4')
			result = true

		}

	}

	return result
}

function xname1() {
	var result = false;
	if ($('#xrolename1').val() == '') {
		$('#xrolename1').css('border-color', 'red')
		$('#xrolename2').text(' 不能为空')
		result = false

	} else {
		if (name != $('#xrolename1').val()) {
			$.ajax({
				url :  path+'/role/findOneRole1.do',
				data : {

					note : $('#xrolename1').val(),

				},
				dataType : 'json',
				async : false,
				success : function(data) {

					if (data.code == 0) {
						$('#xrolename1').css('border-color', 'red')
						$('#xrolename2').text(' 命名重复')
						result = false
					} else if (data.code == 1) {

						$('#xrolename2').text(' *')
						$('#xrolename1').css('border-color', '#D4D4D4')
						result = true
					}

				}

			})

		} else {

			$('#xrolename2').text(' *')
			$('#xrolename1').css('border-color', '#D4D4D4')
			result = true

		}

	}
	return result

}

// 验证权限
function xQuan() {

	var nodes = $('#tt2').tree('getChecked');
	var s = '';
	for (var i = 0; i < nodes.length; i++) {

		if (s != '')
			s += ',';
		s += nodes[i].id;
	}
	if (s == '') {

		$('#msgq1').text('请选择角色权限->')
		return false
	}
	$('#msgq1').text('')
	return true

}

// 修改保存
function xaddRole() {

	if (xQuan() & xname1() & xbiaoshi()) {
		var rp = '[';
		var nodes = $('#tt2').tree('getChecked');
		for (var i = 0; i < nodes.length; i++) {
			rp += "{'perid':'" + nodes[i].id + "'},"
		  }
		var row = $('#dg1').datagrid('getSelected');
		$('#xsave').linkbutton('disable');   
		$('#xno').linkbutton('disable');   
		$.ajax({
				url :  path+'/role/upRole.do',
				data : {
						id : row.id,
						rolename : $('#xrole1').val(),
						note : $('#xrolename1').val(),
						status:$('#xleixing').combobox('getValue'),
						rp:rp
					},
					dataType : 'json',
				success : function(data) {
					if(data.code==0){
						 $('#dg1').datagrid('loadData',data.data.roleList);
						 $('#dg1').datagrid('selectRow', 0);
						 $.messager.show({
		                     title: '提示',
		                     msg: '修改角色成功!',
		                     timeout: 4000,
		                     showType: 'slide'
		                     })
		                  $('#xsave').linkbutton('enable');  
						  $('#xno').linkbutton('enable');
						  xcloseWins()
					}else{
						  $('#xsave').linkbutton('enable');  
						  $('#xno').linkbutton('enable');
						  alert('修改保存失败,请检查网络后重试!')
					}
					
			                
			  }

		 })

	 }

}